petite-vue源码剖析-从静态视图开始
代码库结构介绍examples 各种使用示例scripts 打包发布脚本tests 测试用例srcdirectives v-if等内置指令的实现app.ts createApp函数block.ts 块对象context.ts 上下文对象eval.ts 提供v-if="count === 1"等表达式运算功能scheduler.ts 调度器utils.ts 工具函数walk.ts 模板解析若想构建自己的版本只需在控制台执行npm run bui...
2024-01-10vue-router 路由懒加载
webpack打包会将所有资源文件合并压缩成一个文件,导致最终的文件非常大,甚至超过几M,以致页面首次加载会比较慢,如下图:其中红色标出的是在浏览器中加载的js文件,gzip压缩前已经达到500多KB了。再看看路由按需加载后:文件被拆成一个个小的文件,即webpack的文件分割。这里是以页面为单位...
2024-01-10vue-router重定向 不刷新问题
前阵子太忙了,自己一个人一边开发着新项目,一边维护着旧项目,没时间写博客,终于让我腾出时间了。废话少说,开始正文。 问题描述: 之前项目是angular开发的,后来用vue重构后。项目路径和vue路径不一致,但是app端分享出的链接,依旧是旧项目链接。 解决方法: 通过阅读vue-ro...
2024-01-10Vue-router 类似Vuex实现组件化开发的示例
本文介绍了Vue-router 类似Vuex实现组件化开发的示例,分享给大家,具体如下:随着项目越来越大,把所有route写在一个文件里就显得杂乱。#单个组件路由import a from '../components/a'export default { path: '/a', name: 'a', component: a}import arouter from 'xxx'export default new Router({ routes: [ arouter ]})#多个组件路由...
2024-01-10vue-router 安装和基本使用
1、安装npm install vue-router --save2、src下创建router文件夹并创建index.js文件 ---- /src/router/index.jsindex.js/* * @Description: web router * @Author: wangwz10@lenovo.com * @LastEditors: wangwz10@lenovo.com * @Date: 2020-05-28 15:48:40 * @LastEditTime: 2021-02-04 10:3...
2024-01-10vue-router 动态修改路由参数
路由地址后缀 /test?regionId=sj用户信息中有匹配的行政区划权限数组 xzqh: ['sj','hz'], 且有字段表示改用户默认归属的行政区划 regionId: sj当手动修改地址改成 /test?regionId=hz,因为 regionId 在符合的权限数组中,跳转到 /test?regionId=hz当手动修改地址改成 /test?regionId=nb,重定向地址到 /t...
2024-03-09vue生命周期及router按需加载
Vue生命周期=> 初始化实例=> beforeCreated(此步不能调用数据及方法)=> 实例创建完成(observer数据观测 属性和方法的运算 watch/event事件回调)=> created=> 检测页面内的el template并编译渲染=> beforeMount=> vm.$el替换el,挂载实例=> mounted()=> 检测数据是否发生改变 发生改变时 => beforeUpdated ...
2024-01-10无法使用 Vue-Router 获取 URL 中的参数
今天尝试使用Vue-Router(在Vue-CLI中)获取URL参数时遇到了困难($route.query为空),代码如下。代码用途:获取URL后携带的参数(如“http://localhost:8080/#/?clie...”中的client_id)项目文件结构:router/index.js:App.vue(获取 URL 参数的部分代码):这部分代码的运行结果:回答:vue-router 在...
2024-02-25vue 的http请求方法---自带的vue-resource
先用命令安装库cnpm install vue-resource --save-dev main.jshome.vuepost方法如果方法不放到 methods里面,那么访问页面就会执行函数获取响应的data.body里面数组不同位置的数据.then(function(data){ console.log(data) this.blogs=data.body.slice(0,1) console.log(this.blogs)https://www.cnblogs.com/ka...
2024-01-10vue-计算属性-computed
/* 计算属性:vue中对数据进行一些组合与计算的话,可以使用computed(计算属性); //例如:获取当前日期,组合*/ // 组合变成10-1 var vm = new Vue({ el: '#app', data :{ }, computed:{ //默认写法是这样 time : { return new Date()...
2024-01-10React和Vue中监听变量变化的方法
React 中本地调试React代码的方法yarn build场景假设有这样一个场景,父组件传递子组件一个A参数,子组件需要监听A参数的变化转换为state。16之前在React以前我们可以使用 componentWillReveiveProps 来监听 props 的变换16之后在最新版本的React中可以使用新出的 getDerivedStateFromProps 进行props的监听, getDerivedSta...
2024-01-10你不知道的React 和 Vue 的20个区别【源码层面】
前言面试竞争力越来越大,是时候撸一波Vue和React源码啦; 本文从20个层面来对比Vue和React的源码区别; 如果需要了解API的区别,请戳: Vue 开发必须知道的 36 个技巧 React 开发必须知道的 34 个技巧文章源码:请戳,原创码字不易,欢迎star!1.Vue和React源码区别1.1 Vue源码来张Vue源码编译过程图图...
2024-01-10React:快速上手(5)——掌握Redux(2)
本文部分内容参考阮一峰的Redux教程。React-Redux原理React-Redux运行机制 我觉得这张图清楚地描述React-Redux的运行机制: React-Redux将组件划分为两类,第一类是UI组件:只负责 UI 的呈现,不带有任何业务逻辑没有状态(即不使用this.state这个变量)所有数据都由参数(this.props)提供不使用任...
2024-01-10React和Vue区别
1.监听数据变化的实现原理不同Vue通过 getter/setter以及一些函数的劫持,能精确知道数据变化。React默认是通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的VDOM的重新渲染。为什么React不精确监听数据变化呢?这是因为Vue和React设计理念上的区别,Vue使用的是可变数据,而React更强...
2024-01-10Vue.directive使用注意(小结)
指令钩子函数会被传入以下参数:el:指令所绑定的元素,可以用来直接操作 DOM 。binding:一个对象,包含以下属性:vnode:Vue 编译生成的虚拟节点。移步 VNode API 来了解更多详情。 ◦name:指令名,不包括 v- 前缀。◦value:指令的绑定值,例如:v-my-directive="1 + 1" 中,绑定值为 2。◦oldValue:指令...
2024-01-10在项目vue中使用echarts的操作步骤
1.在组件中创建该模块<template> <div id = "testChart"></div></template>2.导入echarts前提是:已经在项目中配置过echarts在<script></script>中导入echarts<script>import {echartInit} from "../../../utils/echartUtils"</script>3.初始化该模块 export default { name: 'Test', //vue该组件名称Test.vue moun...
2024-01-10React、Vue浅析
关注前端的同学都了解,React和Vue是目前应用很广泛的两个前端框架。React是由Facebook开发的,Vue起初则是由google一名程序员尤雨溪开发的。截止到目前github上显示,React的Star数为87422,Vue的为78523,数据差距越来越小。两个框架国内外使用概况如图1所示: 图1 国外前端框架使用概况 ...
2024-01-10不吹不黑丨用Vue和React构建相同应用程序,区别在哪?
作者 | Sunil Sandhu译者 | 无明在工作中使用了 Vue 之后,我已经对它有了相当深入的了解。同时,我也对 React 感到好奇。我阅读了 React 的文档,也看了一些教程视频,虽然它们很棒,但我真正想知道的是 React 与 Vue 有哪些区别。这里所说的区别,并不是指它们是否都具有虚拟 DOM 或者它们如何渲染页面...
2024-01-10Vue实现active点击切换
循环的情况:1、点击时传入index索引(获取当前点击的是哪个)@click="active(index)"2、将索引值传入class(索引等于几就第几个添加active类):class="{active:index==ins}"3、在data里边添加ins:0(表示默认第一个添加active类)data{ ins:0 } 4、最后在methods里边添加方法ctive (num) { this.ins=num ...
2024-01-10Vue实现active点击切换方法
循环的情况:1、点击时传入index索引(获取当前点击的是哪个)@click="active(index)"2、将索引值传入class(索引等于几就第几个添加active类):class="{active:index==ins}"3、在data里边添加ins:0(表示默认第一个添加active类)data{ ins:0 }4、最后在methods里边添加方法ctive (num) {this.ins=num}非循环的情况:1...
2024-01-10黑马vue---17、vue中通过属性绑定绑定style行内样式
一、总结一句话总结:如果属性名中带有短线必须加引号,比如: h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' }h1 :style="styleObj1"二、内容在总结中1、使用内联样式### 使用内联样式1. 直接在元素上通过 `:style` 的形式,书写样式对象```<h1 :style="{color: 'red', 'font-size': '40px'}">这是一个善良的H1</...
2024-01-10玩转vue的slot内容分发
vue的内容分发非常适合“固定部分+动态部分”的组件的场景,固定部分可以是结构固定,也可以是逻辑固定,比如下拉loading,下拉loading只是中间内容是动态的,而拉到底部都会触发拉取更多内容的操作,因此我们可以把下拉loading做成一个有slot的插件。单个Slot在children这个标签里面放Dom,Vue不会理...
2024-01-10Vue-treeselect 父子关系不强关联设置?
vue-treeselect 树形选择组件,如何让父子关系不强关联,比如:选中父节点,子节点不选中,选中子节点,父节点补选中?如何设置不强关联回答:官网就有一个:<div> <treeselect :multiple="true" :options="options" :flat="true" :sort-value-by="sortValueBy" ...
2024-03-04一起学vue指令之v-html
一起学 vue指令 v-html 指令可看作标签属性某些情况下,我们点击百度搜索下一页,服务器应该就返回下一页的数据页面,包含其他资源链接等。返回的数据的本质是一个含HTML代码的字符串。以百度链接为例...
2024-01-10vue 底部bottomnav
<template> <div > <div class="tabBar"> <div class="menu"><p class="cont"> <router-link to='/'><img src="./img/tabBar1.png" alt="" class="src" height="47px" ></router-link><span v-bind:class="{active:routerCurrent==1}"> 首页</span> </p></div> <div c...
2024-01-10使用slot-scope复制vue中slot内容
有时候我们的vue组件需要复制使用者传递的内容。比如我们工程里面的轮播组件需要使用复制的slot来达到循环滚动的效果使用者关注轮播内容的静态效果,组件负责让其滚动起来组件:<div class="horse-lamp"> <div class="lamp"> <slot name="lamps"></slot> </div> <div class="lamp"> ...
2024-01-10详解Vue slot插槽
1.作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件===>子组件(传的是HTML格式)。父组件App:子组件Category:在父组件或者子组件里都可以给插槽中的内容设置样式,效果一样作用域插槽:1.理解:数据在组件的自身(Category),但根据数据生成的结构需要...
2024-01-10vue 简易toDoList
vue+bootstrap简易响应式任务管理表:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,user-scalable=no"/> <link rel="stylesheet" type="te...
2024-01-10vue--todolist的实现
简单示例:<template> <div id="Home"> <v-header></v-header> <hr> {{title}} <br> <p><input type="text" v-model="todo" /> <button @click="doAdd()">添加</button></p> <p v-for="(x,k) in list">{{x}}---- <button @click="removeData(k)">删除</button><...
2024-01-10用vue框架的基本原理,简单实现一个todo-list
前言最近在学习vue框架的基本原理,看了一些技术博客以及一些对vue源码的简单实现,对数据代理、数据劫持、模板解析、变异数组方法、双向绑定有了更深的理解。于是乎,尝试着去实践自己学到的知识,用vue的一些基本原理实现一个简单的todo-list,完成对深度复杂对象的双向绑定以及对数组的监...
2024-01-10